<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
<Script>

    // T1
        // function foo(x){
        //     console.log(arguments)  //Arguments(5)
                //所有实参 参数集合
        //     return x
        // }
        // foo(1,2,3,4,5)


    //T2
    var x=1,y=z=0;
    function add(n){
        return n=n+1;
    }
    y=add(x)
        function add(n){
            return n=n+3;
        }
    z=add(x);
    console.log(add(x))  //4
    //在这里发生了重名儿   所有下面覆盖上面的 



    //T3
    //数组方法slice()可以接受负整数，如果提供它，它将接受数组末尾的值，而不是数组开头的值。
        // let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
        // console.log(array.slice(-1)); // Result: [9]
        // console.log(array.slice(-2)); // Result: [8, 9]
        // console.log(array.slice(-3)); // Result: [7, 8, 9]


    //数组截断 数据截取
     //方法1
        // let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
        // array = array.slice(0, 4);
        // console.log(array); // Result: [0, 1, 2, 3]
     //方法1
            //通过length修改
            // let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
            // array.length = 4;
            // console.log(array); // Result: [0, 1, 2, 3]

    
    //T4----------------------------------------------------------------------快速转str&取整------------
    //快速浮点数转整数
        // console.log(23.9 | 0);  // Result: 23
        // console.log(-23.9 | 0); // Result: -2
    //T5
    // 快速转换为字符串
    // 快速地将数字转换为字符串，我们可以使用连接运算符+后跟一组空引号""。
        // const val = 1 + "";
        // console.log(val); // Result: "1"
        // console.log(typeof val); // Result: "string"





    //T7
    //检索一段字符串的 字节长度
    //当前字符串的unicode>255,那么这个字符的字节长度为2
    //< = 255 为 
    //英文符号为1 中文符号 空格为1
    
    function byTestlength(str){
        var count = str.length;
    //方法1
        // for(var i=0; i<str.length;i++){
        //     if(str.charCodeAt(i)>255){
        //         count++;
        //     }
        // }
    //方法2
        var count = 0;
        for(var i=0;i<str.length;i++){
            if(str.charCodeAt(i)>255){
                count+=2;
            }else{
                count ++;
            }
        }
        return count
    }
    console.log(byTestlength(str)) 
    



 
     //请问下面表达式输出什么结果？
     //第2个参数表示进制
        console.log(parseInt(3,8))  //3
 		console.log(parseInt(3,2))  //NaN
 		console.log(parseInt(3,0))  //3 这里特殊没有0进制







     //将数组的每一个小写 转 大写
    var arr = ['a','a','a','a','a','a','a']
    console.log(arr.join('').toUpperCase().split(''))   // 'A' 'A' 'A' 'A'.

	//找出字符串`abcdabcdabcdabcdabcdbcbadcbadcbadcba`中所有 a，并替换为大写 A	
	//	let str = `asdfsadafadsafdasddddddddddddd `
	//	let arr = str.split('')  //切割数组 map 是数组方法
	//	let newarr = arr.map((item, index) => {
	//		return item = item == 'a' ? 'A' : item
	//	})
	//	console.log(newarr)
	//	console.log(newarr.join())
	//                           /join()方法数组转字符串的
		


        //     var  a=2;
        //   console.log(++a + ++a) //7
        //   console.log(a++ + a++) //5
        //   ++在前  ++在后 区别  先执行在计算

        

            // var str = '咩咩咩咩咩咩咩咩你你你你'
            // var reg = /咩/igm
            // console.log(str.replace(reg,'*')) 
                        //***********你你你你

//----------------------------------------------js 实现手机号隐藏中间4位数的方法-------------------------------------------//
            // let str = '12345678922';
            // let pre =  str.substr(0,3);
            // let next = str.substr(7,4);
            // let result  =  pre + '****' + next;
                         //123****8922
        //函数封装式的  
        //正则
            // function formatTel(tel) {
            // var reg = /^(\d{3})\d{4}(\d{4})$/;
            // return tel.replace(reg, "$1****$2");
            // }
            // //测试
            // var tel = "12345678911";
            // console.log(formatTel(tel));//123*****8911
        //字符串长度截取
            // function formatTel(tel) {
            // return tel.substring(0, 3) + "****" + tel.substr(tel.length - 4);
            // }
            // //测试
            // var tel = "12345678911";
            // console.log(formatTel(tel));//123*****8911


</Script>